#ifndef __QyDebug__
#define __QyDebug__

#include <QDebug>

/*! @defgroup QyDebug Отладка
*/

/*! Вывести в терминал имя функции из которой был вызов, номер строки на которой произошел вызов и имя файла
\ingroup QyDebug
Например:
\code
void MyClass::myMethod() {
    QyDbgLocation(); // вывод в терминал: void MyClass::myMethod() 2 myfile.h
    ...
    QyDbgLocation(); // вывод в терминал: void MyClass::myMethod() 4 myfile.h
}
\endcode
*/
#define QyDbgLocation() qDebug() << __PRETTY_FUNCTION__ << __LINE__ << __FILE__

/*! Вывести значение в терминал
\ingroup QyDebug
Например:
\code
QString a = "Hellow MEDVED!";
QyDbgValue(a); // вывод в терминал: a="Hellow MEDVED!"
\endcode
*/
#define QyDbgValue(value) qDebug() << #value << "=" << value

/*! Вывести в терминал предупреждение "Called deprecated method <имя метода из которого был вызов>"
\ingroup QyDebug
Например:
\code
void MyClass::myMethod() {
    QyDeprecated(); // вывод в терминал: Called deprecated method "void MyClass::myMethod()"
}
\endcode
*/
#define QyDeprecated() qWarning( "Called deprecated method \"%s\"", __PRETTY_FUNCTION__ )

#endif/*__QyDebug__*/
